/** 创建客户项目入参 */
export interface CreateCustomerProjectParam {
  /**项目名称 */
  projectName: string;
  projectNumber?: string;
  /**
   * 客户Id
   */
  customersId: string;
  /** 项目文件 */
  projectDocument?: string;
  /** 备注 */
  remark?: string;
}

/**
 * 修改客户项目
 */
export interface EditCustomerProjectInfoParam {
  /** 项目Id */
  projectId: string;

  projectNumber?: string;

  /**
   * 项目名称
   */
  projectName: string;

  /**
   * 客户Id
   */
  customersId: string;

  /**
   * 项目文件
   */
  projectDocument?: string;

  /**
   * 备注
   */
  remark?: string;
}

/** 修改项目状态 */
export interface EditCustomerProjectStatusParam {
  /** 项目Id */
  projectId: string;
  /** 项目状态 */
  projectStatus: number;

  /** 审核失败原因 */
  previewFailedReason?: string;
}

export interface QueryCustomerProjectListParam {
  /**
   * 项目名称
   */
  projectName?: string;

  /**
   * 项目编号
   */
  projectNumber?: string;

  /**
   * 客户Id
   */
  customersId?: string;

  /**
   * 项目状态 0-已创建 1-审核 2-已审核 3-已完成 -1 已作废
   */
  projectStatus?: number;
}

/** 查询单个项目信息 */
export interface FindCustomerProjectInfoParam {
  /** 项目Id */
  projectId: string;
}

/**
 * 客户项目表
 */
export interface HxCustomerProject {
  /**
   * 项目Id
   */
  projectId: string;

  /**
   * 项目名称
   */
  projectName: string;

  /**
   * 项目编号
   */
  projectNumber: string;

  /**
   * 客户Id
   */
  customersId: string;

  /**
   * 项目状态 0-已创建 1-待审核 2-已审核 3-已完成 -1 已作废
   */
  projectStatus: number;

  /**
   * 项目文件
   */
  projectDocument?: string;

  /**
   * 创建时间
   */
  createDate: Date;

  /**
   * 创建人
   */
  createUser: string;

  /**
   * 审核时间
   */
  previewDate?: Date;

  /**
   * 审核人
   */
  previewUser?: string;

  /**
   * 备注
   */
  remark?: string;
}

/**
 * 客户项目结果
 */
export interface CustomerProjectResult {
  /**
   * 项目Id
   */
  projectId: string;

  /**
   * 项目名称
   */
  projectName: string;

  /**
   * 项目编号
   */
  projectNumber: string;

  /**
   * 客户Id
   */
  customersId: string;

  /** 客户名称 */
  customerName: string;

  /**
   * 项目状态 0-已创建 1-待审核 2-已审核 3-已完成 -1 已作废
   */
  projectStatus: number;

  /**
   * 项目文件
   */
  projectDocument?: string;

  /**
   * 创建时间
   */
  createDate: Date;

  /**
   * 创建人
   */
  createUser: string;

  /**
   * 审核时间
   */
  previewDate?: Date;

  /**
   * 审核人
   */
  previewUser?: string;

  /**
   * 备注
   */
  remark?: string;

  /** 审核失败原因 */
  previewFailedReason?: string;
}
